﻿namespace LeRenard.ScriptWars.Model.GridSystem
{
    /// <summary>
    /// Represents a 2d grid cell.
    /// </summary>
    public interface IGridCell<TValue>
        where TValue : class
    {
        /// <summary>
        /// Event fired when the value has been changed.
        /// </summary>
        event GridCellValueChangedEventHandler<TValue> OnValueChanged;

        /// <summary>
        /// Gets/sets the cell's value.
        /// </summary>
        TValue Value { get; set; }
    }
}
